package com.apci.ipreda.domain;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;


public class Declaracion extends MasterDomain implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 398212489578032697L;
	private Entidad entidad;
	private String observacion;
	private String recibioMercancia;
	private Date fechaElaboracion;
	private Date fechaFinalizacion;
	private EstadoDeclaracion estadoDeclaracion;
	private SituacionDeclaracion situacionDeclaracion;
	private int periodo;
	private List<Donacion> donacionList;
	private List<Actividad> actividadList;
	private String fechaElaboracionText;
	private String fechaFinalizacionText;
	
	public Declaracion() {
		entidad = new Entidad();
		estadoDeclaracion = new EstadoDeclaracion();
		situacionDeclaracion = new SituacionDeclaracion();
	}
	public Entidad getEntidad() {
		return entidad;
	}
	public void setEntidad(Entidad entidad) {
		this.entidad = entidad;
	}
	public String getObservacion() {
		return observacion;
	}
	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}
	public int getPeriodo() {
		return periodo;
	}
	public void setPeriodo(int periodo) {
		this.periodo = periodo;
	}
	public EstadoDeclaracion getEstadoDeclaracion() {
		return estadoDeclaracion;
	}
	public void setEstadoDeclaracion(EstadoDeclaracion estadoDeclaracion) {
		this.estadoDeclaracion = estadoDeclaracion;
	}
	public SituacionDeclaracion getSituacionDeclaracion() {
		return situacionDeclaracion;
	}
	public void setSituacionDeclaracion(SituacionDeclaracion situacionDeclaracion) {
		this.situacionDeclaracion = situacionDeclaracion;
	}
	public List<Donacion> getDonacionList() {
		return donacionList;
	}
	public void setDonacionList(List<Donacion> donacionList) {
		this.donacionList = donacionList;
	}
	public List<Actividad> getActividadList() {
		return actividadList;
	}
	public void setActividadList(List<Actividad> actividadList) {
		this.actividadList = actividadList;
	}
	public Date getFechaElaboracion() {
		return fechaElaboracion;
	}
	public void setFechaElaboracion(Date fechaElaboracion) {
		this.fechaElaboracion = fechaElaboracion;
	}
	public Date getFechaFinalizacion() {
		return fechaFinalizacion;
	}
	public void setFechaFinalizacion(Date fechaFinalizacion) {
		this.fechaFinalizacion = fechaFinalizacion;
	}
	public String getRecibioMercancia() {
		return recibioMercancia;
	}
	public void setRecibioMercancia(String recibioMercancia) {
		this.recibioMercancia = recibioMercancia;
	}
	public String getFechaElaboracionText() {
		if (this.fechaElaboracion != null) {
			return this.obtenerFechaFormato(this.fechaElaboracion);
		}
		return "";
	}
	public void setFechaElaboracionText(String fechaElavoracionText) {
		this.fechaElaboracionText = fechaElavoracionText;
	}
	public String getFechaFinalizacionText() {
		String fecha = "";
		if (this.fechaFinalizacion != null) {
			return this.obtenerFechaFormato(this.fechaFinalizacion);
		}
		return fecha;
	}
	public void setFechaFinalizacionText(String fechaFinalizacionText) {
		this.fechaFinalizacionText = fechaFinalizacionText;
	}
	
	private String obtenerFechaFormato(Date fechaRequerida) {
		String fecha = "";
		SimpleDateFormat sm = new SimpleDateFormat("dd-mm-yyyy");
		fecha = sm.format(fechaElaboracion).toString();
		switch (Integer.parseInt(fecha.substring(3,5))) {
		case 0:
			fecha = fecha.substring(0,3) + 
				"ene-" + fecha.substring(6,10);
			break;
		case 1:
			fecha = fecha.substring(0,3) + 
				"feb-" + fecha.substring(6,10);
			break;
		case 2:
			fecha = fecha.substring(0,3) + 
				"mar-" + fecha.substring(6,10);
			break;
		case 3:
			fecha = fecha.substring(0,3) + 
				"abr-" + fecha.substring(6,10);
			break;
		case 4:
			fecha = fecha.substring(0,3) + 
				"may-" + fecha.substring(6,10);
			break;
		case 5:
			fecha = fecha.substring(0,3) + 
				"jun-" + fecha.substring(6,10);
			break;
		case 6:
			fecha = fecha.substring(0,3) + 
				"jul-" + fecha.substring(6,10);
			break;
		case 7:
			fecha = fecha.substring(0,3) + 
				"ago-" + fecha.substring(6,10);
			break;
		case 8:
			fecha = fecha.substring(0,3) + 
				"set-" + fecha.substring(6,10);
			break;
		case 9:
			fecha = fecha.substring(0,3) + 
				"oct-" + fecha.substring(6,10);
			break;
		case 10:
			fecha = fecha.substring(0,3) + 
				"nov-" + fecha.substring(6,10);
			break;
		default:
			fecha = fecha.substring(0,3) + 
				"dic-" + fecha.substring(6,10);
			break;
		}
		return fecha;
	}

}
